Protecting Online Meeting Access Using Secure Personal Universal Resource Locators

ABSTRACT

Access to online collaborative resources such as an online meeting, web conference, online chat room, an online video conference, an online audio conference, a collaboratively edited document, a collaborative browsing session, an online social networking group, or a web site is secured by providing a first user-specific URL to a first user for addressing collaborative resource; responsive to the first user accessing the first user-specific URL, granting by a computing system access to the collaborative event to the first user; and responsive to a second user accessing the first user-specific URL, preventing by a computing system access to the collaborative event to the second user. Optionally, time criteria for accessing the first user-specific URL may be used to invalidating the first user-specific URL, wherein access to the collaborative resource is disabled.

CROSS-REFERENCE TO RELATED APPLICATIONS (CLAIMING BENEFIT UNDER 35U.S.C. 120)

This is a continuation application of U.S. patent application Ser. No.14/689,180, filed on Jan. 14, 2014, our docket AUS920120218US2, whichwas a continuation of U.S. patent application Ser. No. 13/632,662, filedon Oct. 1, 2012, our docket AUS920120218US1, all by Douglas Hoard, etal.

FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT STATEMENT

None.

MICROFICHE APPENDIX

Not applicable.

INCORPORATION BY REFERENCE

None.

FIELD OF THE INVENTION

This is a continuation application of U.S. patent application Ser. No.14/689,180, filed on Jan. 14, 2014, our docket AUS920120218US2, whichwas a continuation of U.S. patent application Ser. No. 13/632,662, filedon Oct. 1, 2012, our docket AUS920120218US1, all by Douglas Hoard, etal. The invention generally relates to protecting access to andparticipation in online collaborative sessions such as online meetings,web conferences, chat sessions, co-editing of documents in the cloud,etc.

BACKGROUND OF INVENTION

There is a wide variety of online collaborative sessions such as socialweb group discussion threads (asynchronous or synchronous), chat rooms,online meetings, web conferences, and presentations (e.g. WebEx™,GoToMeeting™, etc.), online training and educational classes (e.g.WizIQ™, DimDim™, Blackboard™, etc.), and even online co-editing ofdocuments (DropBox™, GoogleDocs™, etc.).

Sharing hyperlinks (“links”) or universal resource locators (URLs) toon-line meeting rooms is a common scenario in an online collaborationenvironment. A potential user or participant may not be aware of thelogin information an ongoing virtual meeting, for example, so he or shemay contact someone that is currently a participant in the onlinemeeting room to ask for the meeting URL and password. The contactedparticipant might respond by sending to the potential user the URL tothe online meeting room in the form of a forwarded electronic message(email, SMS, IM, etc.), or verbally via a phone call or online voiceconnection. For most scenarios, this makes sense, and doesn't cause anyissue.

However, some critically sensitive online collaborative sessions maycontain information that could be sensitive, confidential, or evenillegal to share outside of a small group, such as information about aresource action, a company acquisition, or future earnings that have notbeen made public. Such sharing of information introduces legal,commercial and even national security ramifications, where an uninviteduser who has been informed with enough information about the on-linemeeting room (or document or thread, etc.), can join the on-line room,and thus not comply with any number of policies, legal or otherwise.

SUMMARY OF EXEMPLARY EMBODIMENTS OF THE INVENTION

Access to online collaborative resources such as an online meeting, webconference, online chat room, an online video conference, an onlineaudio conference, a collaboratively edited document, a collaborativebrowsing session, an online social networking group, or a web site issecured by providing a first user-specific URL to a first user foraddressing collaborative resource; responsive to the first useraccessing the first user-specific URL, granting by a computing systemaccess to the collaborative event to the first user; and responsive to asecond user accessing the first user-specific URL, preventing by acomputing system access to the collaborative event to the second user.Optionally, time criteria for accessing the first user-specific URL maybe used to invalidating the first user-specific URL, wherein access tothe collaborative resource is disabled.

BRIEF DESCRIPTION OF THE DRAWINGS

The description set forth herein is illustrated by the several drawings:

FIG. 1 provides illustrates the interactions according to the presentinvention between a collaborative session owner, a session servercomputer system, and one or more invitee systems to establish acollaborative resource (online meeting, co-edited document, etc.).

FIG. 2 shows a logical process according to the present invention tocreate a collaborative resource and one or more invitee secure personalURLs.

FIG. 3 sets forth a configuration and state of components according tothe present invention in which a collaboration is achieved betweenmultiple online users and a common resource.

FIG. 4 depicts a logical process according to the present invention tocreate secure personal universal resource locator (spURL) values, tocache them, and to verify a spURL from a user requesting access to acollaborative resource.

FIG. 5 sets forth a generalized architecture of computing platformssuitable for at least one embodiment of the present and the relatedinventions.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S) OF THE INVENTION

The inventors of the present and the related invention have recognizedproblems not yet recognized by those skilled in the relevant arts. Useof universal resource locators (URL's) and passwords in the ordinarymanner for online collaborative sessions as described in the Backgroundsection of this disclosure can pose potential risks to legal compliance,fiduciary responsibilities, and even national security matters. Evenwhen an enterprise trusts its users, it is advisable to plan for “aninternal threat actor”, who might send login information for a virtualmeeting, a closed group social discussion thread, or a shared document,such as a URL and a password, to a user who might find a way to spy onthe meeting room. In the situation of a shared document, such a usercould be mischievous and actually edit the document to insert incorrectinformation, delete useful information, or cause embarrassment to theauthor or authors.

So, the present inventors set out to develop an easy-to-use method andmechanism to invite a user to an on-line collaborative session, such asan online virtual meeting room, such that the invitee (and, a potentialinternal threat actor) cannot compromise the system by forwarding theon-line collaborative session access information to an unauthorizeduser.

In order to achieve this, the present inventors first reviewed thestrengths and weaknesses of the present methods for controlling accessto online collaborative sessions.

Access Control Lists (ACLs) and Passwords.

Some current systems approach the possibility of unauthorized access toan online collaborative session using ACLs (access control lists), withor without user passwords. An ACL is typically a list of authorizedusers, created in advance of the online collaborative session, andmanaged by the moderator or “owner” of the session, such as a manager ofan online meeting room. While this is one option to control access to anonline meeting room, it requires active management by the room manager.Typically, in such a scenario, an application program running on acollaboration server is provided for a room manager to look up aregistered user and assign them to the ACL, but it's not typical tochange these frequently and on-the-fly. Some weak points of ACL's arethat they are usually fairly static and unchanging in nature, such thatonce a user has been granted access (e.g. added to the ACL), then theywill have access as long as the online meeting room is available foruse. This leaves a security hole in the system if the room manager doesnot remember to remove users from the ACL after a use of the onlinemeeting room.

Additionally, the list of users is stored in a data store by thecollaboration server system. In general, the search function of anonline meeting room system must not show the rooms that are accesscontrolled to users who do not have access. So, there results inperformance bottlenecks due to ACLs, since the technology becomes muchmore complex to maintain, expensive to execute, and does not fit wellwith more dynamic use-cases.

Two other weak points for ACLs are cloud-based solutions withmulti-tenant requirements, and dynamically changing user bases. In thesecases, it can be hard, or impossible, to build a complete ACL, and soit's typically simpler to use a password, than to manage ACLs.

Passwords are typically assigned to online meeting rooms that containsensitive information, and are used as an alternative or supplement toentries in ACLs. Among the weak points of passwords is that they areeasily shared by users who know the password. A user (e.g. potentialinternal threat actor) can send the room information (name, URL andpassword) to an unauthorized user , thereby allowing the unauthorizeduser to view the information, and creating a non-compliance situation.

The inventors have, therefore, endeavored to provide a new solutionwhich is easy to use, but which avoids these vulnerabilities, and whichincorporates one or more of the following features in its variousembodiments:

-   -   a. the URL for accessing the online collaborative session is a        private value, as described in the following paragraphs;    -   b. embodiments avoid, where possible, the use of an ACL in order        to eliminate staleness of its contents causing users to have        continued access beyond their intended authorization period or        session;    -   c. spoilage and time-out of each user's authorization is enabled        so that on-going security is not reliant upon vigilance or        maintenance by an owner or manager of the online collaborative        session; and    -   d. embodiments can address a scenario in which a first user        dynamically grants a second user access to a particular online        collaborative session.

Embodiments of the present invention offer a new approach, so thatsharing of the on-line meeting information can be achieved withoutcompromising the security of the meeting room or other onlinecollaborative session. This actually will allow easy access to the roomfor the authorized users, but if an internal threat actor attempts topropagate the access information either via a forwarded email, instantmessage, even unintentionally, there is no way for that information toallow another user to bypass the security or learn enough from theinformation to “spy” on the meeting room or other online collaborativesession contents and proceedings.

An exemplary case would be for an online virtual meeting room owner tohide and password-protect or lock the meeting room using featuresalready available in some virtual meeting services. Since the room ownernever tells anyone the password to the room, even users who directlyaddress the room will not be able to join, because of the lock, orpassword. However, when conditions change and the room owner needs topull other users into this locked room (e.g. the room owner needs toinvite a user into the room), a private and unique URL is generated foreach specific user/invitee, which will only work for each specific user.Even for an internal threat actor, there would be no way for the inviteduser to discover or share any information which would enable a differentuser to join the on-line meeting room, since the password is only knownby the room owner.

Furthermore, embodiments according to the present invention have amethod for the URL to be short lived or only used once, so that if a URLis not accessed in a pre-configured amount of time or used one timeduring the allowed period, the URL becomes invalid for future attemptsto access it. A user trying to attend via the spoiled oralready-consumed URL at a later time will be denied access to theon-line meeting room. This automatic time-out has advantages over ACL's,since ACLs have to be manually managed.

Known approaches and solutions referenced in the foregoing paragraphsintroduce user complexity, performance obstacles, and barriers foron-line meeting management and attendance in persistent online meetings.So, again, embodiments of the present invention provide a non-ACL-basedmethod, which enables an easier way to invite a user to an online roomor other collaborative session, such that the person invited cannotcompromise the system, by sending the online room information tounauthorized people.

While the solution described herein may seem ideal and easy tounderstand, there are technical barriers which make implementationnon-trivial. So, the present disclosure also includes details thatdescribe these methods, and how the system works. Specifically,embodiments of the present invention show how the system can createunique and secure personal URLs, and then authorize access to only theperson accessing the on-line meeting via the secure personal URL.

In today's on-line meeting screens, a user will enter a meeting name (oridentifying code), and a meeting password. Embodiments of the presentinvention will ease the burden of requiring a meeting password thatneeds to be propagated to online meeting attendees as well as provide asecure way to prevent the online meeting information from being shared.

First, as illustrated in FIG. 1, a Session Owner will establish (101) anonline collaborative session (120) through an interface to an onlinecollaborative session server (110), such as using a web browser toaccess a management function of the session server to create a meetingroom, by providing a room name and an access password. The passwordwould only be required to be known by the Session Owner.

Next, the Session Owner will invite a user to the collaborative session,such as making an invitation to a virtual meeting room. When a SessionOwner wants to invite a user into his or her room, they may enter theinvitee's system identifier (e.g. the invited user's e-mail address,telephone number, employee number, etc.) into a form or component of thesession server (110) that would take the room information and inviteeinformation, and call an application programming interface (API) on theonline collaboration session server (110) to generate (111) a specificURL for the invited user.

Subsequently, a new component executed by the collaborative sessionserver (110) will generate (111) a secure personal URL for invitee.Referring to FIG. 4, upon receiving the information from the sessionowner, the session server (110) would:

-   -   1. Authenticate that the session owner is truly the owner of the        collaborative resource in question, otherwise, reject the        request.    -   2. Generate a dynamic private key (403), to be later used as a        “salt” (402).    -   3. Generate (403) a hash using the invitee's system identifier        (e-mail address, telephone number, employee number, etc.), the        dynamic private key (the salt), and roomId, using a strong and        secure algorithm such as a secure hash algorithm (SHA-1, etc.).    -   4. Generate the personal URL (405), including the hash as part        of the URL, so that the session server (110) can access the hash        when the user joins using the URL.    -   5. Cache the information generated in step 3 for a period of        time, using a secure cache (112), and using the hash as a key        into the elements of the hash (userId, salt, roomId).

6. Return the generated “secure personal URL” to the session owner(102).

This process is repeated for each invitee, thereby creating a securepersonal URL for each of the invitees. The session server may then beginto monitor (113) each of the secure personal URL's for usage, expirationand spoilage.

Referring again to FIG. 1, the Session Owner can propagate (103) thesecure personal URLs (spURLs) to each of the invitees (104, 105, 106)via e-mail, instant message, verbally, or via another method. Thisprocess of generating, storing and propagating secure personal URL'swould be repeated for each of the additional attendee's or invitees.

In order for an invited user to access the online collaborative session,such as to log into an online meeting room, the collaborative sessionserver would first require the invitee to authenticate (201, 210)himself or herself into the session server system, such as through alog-in web page served from the online collaborative session server.But, this does not, by itself, allow the user access to thecollaborative resource yet.

After successful authentication, the session server would perform thefollowing logical processes:

-   -   1. It would first recognize the secure personal URL as a special        type of URL. In most embodiments, this will be handled by an        exception handler, as there will not likely be an actual        available resource located at the secure personal URL address.        When the server throws a “page not found” error, for example, an        embodiment of the invention would then check the format of the        URL. If the format is consistent with the format described in        the foregoing generation steps, then the server would proceed        with the following steps, otherwise, normal exception handling        would proceed (e.g. sending page not found error to the user).    -   2. Responsive to determining the URL is of a format consistent        with the secure personal URL format described in the foregoing        paragraphs, the session server would extract the hash value from        the secure personal URL and use it to look-up the cached (112)        secure information used to create the hash.    -   3. Next, the server would verify secure information to the        corresponding cached (211) information within the collaborative        session system, such as an online meeting system. Specifically,        in at least one embodiment, the server will attempt to recreate        the hash based on the logged-in user's id, the cached salt, and        the cached room Id.    -   4. If the information results in the same hash, then the invitee        is instantly allowed (202) into the room, and the cache entry        (112) may optionally be invalidated (212) to prevent re-entry        (e.g. to enable one-time usage of the secure personal URL).    -   5. If the information is not found or produces a non-matching        hash, the invitee is denied (203) access to the room, and        optionally warned that their failed attempt to join has been        logged.

Referring finally to FIG. 3, after each of the invitees has successfullycompleted the entry process of FIG. 2 using the spURL, a virtualconference between the users (301, 302, and 303) with the collaborativeresource (120) is completed, such as conducting an online meeting, anonline presentation, collaborative editing of a document, etc.

Suitable Computing Platform.

The preceding paragraphs have set forth example logical processesaccording to the present invention, which, when coupled with processinghardware, embody systems according to the present invention, and which,when coupled with tangible, computer readable memory devices, embodycomputer program products according to the related invention.

Regarding computers for executing the logical processes set forthherein, it will be readily recognized by those skilled in the art that avariety of computers are suitable and will become suitable as memory,processing, and communications capacities of computers and portabledevices increases. In such embodiments, the operative invention includesthe combination of the programmable computing platform and the programstogether. In other embodiments, some or all of the logical processes maybe committed to dedicated or specialized electronic circuitry, such asApplication Specific Integrated Circuits or programmable logic devices.

The present invention may be realized for many different processors usedin many different computing platforms. FIG. 5 illustrates a generalizedcomputing platform (500), such as common and well-known computingplatforms such as “Personal Computers”, web servers such as an IBMiSeries™ server, and portable devices such as personal digitalassistants and smart phones, running a popular operating systems (502)such as Microsoft™ Windows™ or IBM™ AIX™, Palm OS™, Microsoft WindowsMobile™, UNIX, LINUX, Google Android™, Apple iPhone iOS™, and others,may be employed to execute one or more application programs toaccomplish the computerized methods described herein. Whereas thesecomputing platforms and operating systems are well known an openlydescribed in any number of textbooks, websites, and public “open”specifications and recommendations, diagrams and further details ofthese computing systems in general (without the customized logicalprocesses of the present invention) are readily available to thoseordinarily skilled in the art.

Many such computing platforms, but not all, allow for the addition of orinstallation of application programs (501) which provide specificlogical functionality and which allow the computing platform to bespecialized in certain manners to perform certain jobs, thus renderingthe computing platform into a specialized machine. In some “closed”architectures, this functionality is provided by the manufacturer andmay not be modifiable by the end-user.

The “hardware” portion of a computing platform typically includes one ormore processors (504) accompanied by, sometimes, specializedco-processors or accelerators, such as graphics accelerators, and bysuitable computer readable memory devices (RAM, ROM, disk drives,removable memory cards, etc.). Depending on the computing platform, oneor more network interfaces (505) may be provided, as well as specialtyinterfaces for specific applications. If the computing platform isintended to interact with human users, it is provided with one or moreuser interface devices (507), such as display(s), keyboards, pointingdevices, speakers, etc. And, each computing platform requires one ormore power supplies (battery, AC mains, solar, etc.).

Conclusion. The terminology used herein is for the purpose of describingparticular embodiments only and is not intended to be limiting of theinvention. As used herein, the singular forms “a”, “an” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, steps, operations, elements, components, and/orgroups thereof, unless specifically stated otherwise.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

It should also be recognized by those skilled in the art that certainembodiments utilizing a microprocessor executing a logical process mayalso be realized through customized electronic circuitry performing thesame logical process(es).

It will be readily recognized by those skilled in the art that theforegoing example embodiments do not define the extent or scope of thepresent invention, but instead are provided as illustrations of how tomake and use at least one embodiment of the invention. The followingclaims define the extent and scope of at least one invention disclosedherein.

What is claimed is:
 1. A method for protecting online access tocollaborative resources comprising: responsive to a first userattempting to access a collaborative resource at a universal resourcelocator (URL), determining by a computer that the URL contains an actuallocation of the collaborative resource obscured by an encryptedidentifier for the first user in a domain name portion or a locatoraddress portion of the URL; and granting by a computer to the first useraccess to the collaborative resource located at actual location.
 2. Themethod as set forth in claim 2 further comprising, responsive to asubsequent attempt to access the collaborative resource using the URL,preventing by a computer user access to the collaborative resource. 3.The method as set forth in claim 2, further comprising: retrieving by acomputer a time criteria for accessing the collaborative resource,wherein the first URL comprises a user-specific secure personaluniversal resource locator; and responsive to detecting an elapsed timeexceeding the time criteria, invalidating by a computer the firstuser-specific secure personal universal resource locator, wherein accessto the collaborative resource is disabled.
 4. The method as set forth inclaim 1, further comprising authenticating the first user by a computingsystem prior to the granting of access.
 5. The method as set forth inclaim 1 wherein the collaborative resource comprises at least oneresource selected from the group consisting of an online meeting, webconference, online chat room, an online video conference, an onlineaudio conference, a collaboratively edited document, a collaborativebrowsing session, an online social networking group, and a web site. 6.The method as set forth in claim 1 further comprising providing by acomputer a collaborative resource management component thatauthenticates resource owners, resource invitations, and resourceaccesses utilizing secure communication and authentication protocols. 7.The method as set forth in claim 1 further comprising generating by acomputer the user-specific secure personal universal resource locatorby: generating a dynamic private key to be later used as a salt;generating a hash value using a first user's system identifier, thesalt, and a collaborative resource identifier, using a strong and secureencryption process; generating the secure personal universal resourcelocator including the hash value as part of the universal resourcelocator; caching the first user's system identifier, the salt and thecollaborative resource identifier using a secure cache and using thehash value as a key into the cached elements; and returning the securepersonal universal resource locator to a collaborative session owner. 8.The method as set forth in claim 7 wherein the user's system identifiercomprises at least one identifier selected from the group consisting ofan electronic mail address, a telephone number, an online messagingidentifier, a social networking alias name, and an employee number. 9.The method as set forth in claim 7 wherein the strong and secureencryption process comprises a method compliant with a U.S. NationalInstitute of Standards and Technology Secure Hash Algorithmspecification.
 10. The method as set forth in claim 7 wherein thecaching the first user's system identifier comprises caching it for alimited period of time.
 11. A computer program product for protectingonline access to collaborative resources comprising: a computer-readablememory device which is not a transitory signal per se; and programinstructions embodied by the computer-readable memory device for causinga processor to: responsive to a first user attempting to access acollaborative resource at a universal resource locator (URL), determinethat the URL contains an actual location of the collaborative resourceobscured by an encrypted identifier for the first user in a domain nameportion or a locator address portion of the URL; and grant to the firstuser access to the collaborative resource located at actual location.12. The computer program product as set forth in claim 11 wherein theprogram instructions further comprise program instructions to cause aprocessor to, responsive to a subsequent attempt to access thecollaborative resource using the URL, prevent user access to thecollaborative resource.
 13. The computer program product as set forth inclaim 11, wherein the program instructions further comprise programinstructions to cause a processor to: retrieve a time criteria foraccessing the collaborative resource, wherein the first URL comprises auser-specific secure personal universal resource locator; and responsiveto detecting an elapsed time exceeding the time criteria, invalidatingby a computer the first user-specific secure personal universal resourcelocator, wherein access to the collaborative resource is disabled. 14.The computer program product as set forth in claim 11 wherein thecollaborative resource comprises at least one resource selected from thegroup consisting of an online meeting, web conference, online chat room,an online video conference, an online audio conference, acollaboratively edited document, a collaborative browsing session, anonline social networking group, and a web site.
 15. The computer programproduct as set forth in claim 13 further comprising program instructionsembodied by the computer-readable memory device for causing a processorto generate the user-specific secure personal universal resource locatorby: generating a dynamic private key to be later used as a salt;generating a hash value using a first user's system identifier, thesalt, and a collaborative resource identifier, using a strong and secureencryption process; generating the secure personal universal resourcelocator including the hash value as part of the universal resourcelocator; caching the first user's system identifier, the salt and thecollaborative resource identifier using a secure cache and using thehash value as a key into the cached elements; and returning the securepersonal universal resource locator to a collaborative session owner.16. A system for protecting online access to collaborative resourcescomprising: a computer processor; a computer-readable memory devicewhich is not a transitory signal per se, and which is accessible asprogram memory for the computer processor; and program instructionsembodied by the computer-readable memory device for causing theprocessor to: responsive to a first user attempting to access acollaborative resource at a universal resource locator (URL), determinethat the URL contains an actual location of the collaborative resourceobscured by an encrypted identifier for the first user in a domain nameportion or a locator address portion of the URL; and grant to the firstuser access to the collaborative resource located at actual location.17. The system as set forth in claim 16 wherein the program instructionsfurther comprise program instructions to cause a processor to,responsive to a subsequent attempt to access the collaborative resourceusing the URL, prevent user access to the collaborative resource. 18.The system as set forth in claim 12, wherein the program instructionsfurther comprise program instructions to cause a processor to: retrievea time criteria for accessing the collaborative resource, wherein thefirst URL comprises a user-specific secure personal universal resourcelocator; and responsive to detecting an elapsed time exceeding the timecriteria, invalidating by a computer the first user-specific securepersonal universal resource locator, wherein access to the collaborativeresource is disabled.
 19. The system as set forth in claim 12 whereinthe collaborative resource comprises at least one resource selected fromthe group consisting of an online meeting, web conference, online chatroom, an online video conference, an online audio conference, acollaboratively edited document, a collaborative browsing session, anonline social networking group, and a web site.
 20. The system as setforth in claim 19 further comprising program instructions embodied bythe computer-readable memory device for causing a processor to generatethe user-specific secure personal universal resource locator by:generating a dynamic private key to be later used as a salt; generatinga hash value using a first user's system identifier, the salt, and acollaborative resource identifier, using a strong and secure encryptionprocess; generating the secure personal universal resource locatorincluding the hash value as part of the universal resource locator;caching the first user's system identifier, the salt and thecollaborative resource identifier using a secure cache and using thehash value as a key into the cached elements; and returning the securepersonal universal resource locator to a collaborative session owner.